package edu.sdufe.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

/**
 * @author wang'ji'cheng
 * @date 2025/7/29
 */
public class ListDemo {
    public static void main(String[] args) {
        //List集合可以在for循环中修改元素
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        for (int i = 0; i < list.size(); i++) {
            list.set(i,list.get(i)*2);
        }
        System.out.println(list);
        //也可以被替换成replaceAll();里面是函数式接口
        list.replaceAll(integer -> integer * 2);
        System.out.println(list);
        //也可以用迭代器遍历并修改指定元素，但是要用迭代器里的set方法，不能用list里的set，会出现并发修改异常


        ListIterator<Integer> iterator = list.listIterator();
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            if(next==2){
                iterator.set(6);
            }
        }
        System.out.println(list);
    }
}
